草庐IT

TypeScript 函数

全部标签

javascript - 使用 Chutzpah 运行 QUnit (TypeScript) 测试给出 "Called start() outside of a test context while already started"

我有一个相当简单的重现,结果我不明白。确保安装了Chutpah测试适配器4.0.3。使用VisualStudio2013执行以下步骤:创建一个新的.NET4.5.1类库项目;添加NuGet包qunit.TypeScript.DefinitelyTyped0.1.7;将TypeScript文件file1.ts添加到项目中,内容如下:///QUnit.test("QUnitisworking",assert=>assert.ok(true));在该文件内右键单击并从上下文菜单中选择“运行JS测试”。我可以确认file1.js是按预期生成的。结果是没有运行任何测试,测试资源管理器没有显示测试

javascript - typescript : Array<Object> vs Object[]

在Typescript中,这些赋值之间有什么区别:varObject[];varArrayTypeScript中的泛型是否与Java等语言具有相同的语义含义,还是仅仅是语法糖? 最佳答案 这只是糖。Object[]和Array在TypeScript中完全相同。检查这一点的一种方法是编写以下代码:varx:Object[];varx:Array;重复的变量声明必须具有完全相同的类型,因此这里没有错误意味着类型是相同的。 关于javascript-typescript:ArrayvsObje

javascript - 从 ng-repeat 中的输入多次调用 ng-change 函数

好吧,我这里有个问题。我有一个ng-repeat,里面有一个带有ng-change()的输入。这是指令模板的一部分,并且双向绑定(bind)到父对象。如果我在输入框中输入内容,一切正常,父对象也会更新。但是,当我必须从指令的Controller替换父对象时,我遇到了一个问题。问题是,一旦父对象被替换,View就会绑定(bind)新的(替换的)值。同样在那个时候,相同的函数(如在ng-change()中)被手动触发以进行一些计算。但是,我注意到同一个函数再次被调用(不知道如何调用)。重要的是输入的ng-model是未定义的,当它们被自动调用时。结果,最终父对象包含值undefined。我

javascript - 单元测试时如何测试绑定(bind)函数是否相等?

我想测试传递给函数的参数是函数引用,但函数引用是使用bind()传递的。考虑要测试的代码(为简洁起见缩短):initialize:function(){this.register(this.handler.bind(this));}这个单元测试检查register()是否被handler()调用:it('registerhandler',function(){spyOn(bar,'register');bar.initialize();expect(bar.register.calls.argsFor(0)[0]).toEqual(bar.handler);});arg不等于我猜测的函

javascript - Algolia instantsearch.js 回调函数

我正在使用Algoliainstantsearch.js作为我的站点搜索。设置过程相当简单直接,包括.js和.css文件,创建模板,然后再创建一个带有app()函数的.js文件来设置我的应用程序(appId,apiKey、indexName)和小部件。我需要的是每次运行搜索功能时都会执行的功能,最好是在显示命中后立即执行。也许有一个小部件?谢谢! 最佳答案 您可以像描述的那样监听render事件here,这是一个在所有小部件都已呈现后触发的事件:varsearch=instantsearch({...});search.on('re

javascript - 将 React 组件从函数重构为 ES6 类

我是ES6的新手。对编写React组件的不同方式感到有点困惑。我从“React.createClass”开始,然后转向使用ES6类语法“扩展React.Component”。按照Redux教程,现在我看到他们以这种方式定义组件importReact,{PropTypes}from'react'constTodo=({onClick,completed,text})=>({text})Todo.propTypes={onClick:PropTypes.func.isRequired,completed:PropTypes.bool.isRequired,text:PropTypes.st

javascript - 已编译 TypeScript 的输出文件夹

我正在学习一个名为THEHEROEDITOR的教程,它让我在app中创建和编辑TypeScript文件。文件夹。该应用程序使用脚本tsc-w,其中w导致tsc每次TypeScript文件失败时,转换器都会输出一个新的JavaScript文件。这让我困惑了几分钟,因为当我添加一个TypeScript类时,编辑器(VisualStudioCode)在类名下划线并告诉我这是一个重复的声明。我看到了同名的JavaScript文件,但我一删除它,重复的声明和JS文件又回来了。脚本在package.json中声明:"scripts":{"start":"tsc&&concurrently\"npm

javascript - ES6 函数中 while 循环中的解构赋值不会在循环外传播?

我在ES6中(通过node-esml)实现了一个简单的GCD算法,并且(对我而言)在while循环中更新变量值时出现了奇怪的行为。这段代码非常有效:functiongcdWithTemp(x,y){let[r,rdash]=[x,y]while(r!=0){q=Math.floor(rdash/r)temp=rr=rdash-q*rrdash=temp}return(rdash)}console.log(gcdWithTemp(97,34))返回1的预期答案。但是,如果我删除临时变量并改为使用解构赋值来尝试获得相同的结果:functiongcdWithDestructuredAssig

javascript - Typescript 接口(interface)中的日期在检查时实际上是字符串

不幸的是,重现此代码的总代码会很长,所以我希望我的问题很明显,我可以轻松提供。如果需要,我会发布更完整的解决方案。首先,我定义了一个接口(interface):exportinterfaceITest{myDate:Date;}然后我创建了一个数组用于测试:exportconstTEST:ITest[]=[{myDate:newDate(1995,8,1)}]我使用Angular2中的一项服务公开这些内容,该服务从angular2-in-memory-web-api访问InMemoryDbService。我调用它并获取数组的代码如下:get():Promise{returnthis.h

javascript - TypeScript 类到 JSON

我有一个类数组,其中的类如下所示:classTag{select:string;search:string;}我想将它转换为JSON,它可能看起来像[{select:"blah",search:"bleh"},{...},{...}].这可能吗?因为在Angular2教程中,您可以使用以下行执行相反的操作:.map((r:Response)=>r.json().dataasHero[]); 最佳答案 您可以使用JSON.stringify()将javascript对象转换为json字符串由于类和类的实例是javascript中的对象